Cryptographic devices include, by way of example, one-time passcode (OTP) devices such as authentication tokens. Authentication tokens are typically implemented as small, hand-held devices that display a series of passcodes over time. A user equipped with such an authentication token reads the currently displayed passcode and enters it into a computer or other element of an authentication system as part of an authentication operation. This type of dynamic passcode arrangement offers a significant security improvement over authentication based on a static password.
Conventional authentication tokens include both time-synchronous and event-synchronous tokens.
In a typical time-synchronous token, the displayed passcodes are based on a secret value and the time of day. A verifier with access to the secret value and a time of day clock can verify that a given presented passcode is valid.
One particular example of a time-synchronous authentication token is the RSA SecurID® user authentication token, commercially available from RSA, The Security Division of EMC Corporation, of Bedford, Mass., U.S.A.
Event-synchronous tokens generate passcodes in response to a designated event, such as a user pressing a button on the token. Each time the button is pressed, a new passcode is generated based on a secret value and an event counter. A verifier with access to the secret value and the current event count can verify that a given presented passcode is valid.
Other known types of authentication tokens include hybrid time-synchronous and event-synchronous tokens.
Passcodes can be communicated directly from the authentication token to a computer or other element of an authentication system, instead of being displayed to the user. For example, a wired connection such as a universal serial bus (USB) interface may be used for this purpose. Wireless authentication tokens are also known. In authentication tokens of this type, the passcodes are wirelessly communicated to a computer or other element of an authentication system. These wired or wireless arrangements, also referred to herein as connected tokens, save the user the trouble of reading the passcode from the display and manually entering it into the computer.
The above arrangements may be viewed as examples of what are more generally referred to herein as hardware authentication tokens. However, authentication tokens can also be implemented in the form of software installed on a computer, mobile phone or other processing device. Like hardware authentication tokens, software authentication tokens can be implemented as time-synchronous, event-synchronous, or hybrid time-synchronous and event-synchronous tokens.
Cryptographic devices such as the above-noted computers, mobile phones or other processing devices may comprise key-based cryptographic modules. Examples of such modules include trusted platform modules (TPMs) and may be based on symmetric keys or public key cryptography. Conventional techniques for authenticating cryptographic devices that include TPMs or other key-based cryptographic modules can be problematic. For example, some techniques involving symmetric-key cryptographic modules require that a verifying cryptographic device have full knowledge of the symmetric keys in order to authenticate the device containing the module.